use async_trait::async_trait;

#[async_trait]
pub trait EventQueue<T: Send + 'static>: Send + Sync {
    async fn enqueue(&self, event: T);
    async fn dequeue(&self) -> Option<T>;
}
